/**
 * 计划管理 - 接口
 * @author xiaoxujs
 */

import { RangeValue } from "../antd"

// 发运计划 list 入参
export interface IPlanPlanPageParams {
    planState: string//计划状态，0：正常，1：作废
    currentPage: number //  当前页
    goodsName?: string//货品名称
    pageSize: number //每页条数
    startDate?: string //计有效日期，开始
    stopDate?: string//有效日期，结束
    transportName?: string //物流单位
}
//  发运计划 检索 - form
export interface IPlanPlanPageSearchForm {
    date: RangeValue;
    goodsName: string; //货品名称
    transportName: string; // 物流单位
}
// 发运计划 出参
export interface IPlanPlanPage {
    approvalReason: string//审批驳回原因
    approvalResult: string//审批结果，0：通过，1：驳回
    approvalState: string//审批状态，0：已审核，1：未审核
    cancelReason: string //作废原因
    goodsName: string//货品名称
    id: string//计划id
    planNo: string//计划编号
    planQuantity: number // 计划量（吨）
    planState: string //计划状态，0：正常，1：作废
    remainingQuantity: number //剩余量（吨）
    startDate: string //有效日期，开始   (date)
    stopDate: string//有效日期，结束    (date)
    transportName: string//物流单位
}

//  添加计划 入参
export interface IPlanInsertPlanParams {
    goodsName: string//货品名称
    planQuantity: number//计划量（吨）
    startDate: string //有效日期，开始
    stopDate: string //有效日期，结束
    transportName: string//运输单位
}
//  添加计划 弹窗
export interface IPlanInsertPlanForm {
    goodsName: string//货品名称
    planQuantity: number//计划量（吨）
    date: RangeValue //有效日期，开始
    stopDate: string //有效日期，结束
    transportName: string//运输单位
}
// 补充计划量 - 入参
export interface IPlanSupplementPlanParams {
    id: string;
    planQuantity: number; //新的计划量
}
// 补充计划量 - form
export interface IPlanSupplementPlanForm {
    planQuantity: number; //新的计划量
}
// 作废发运计划
export interface IPlanCancelParams {
    cancelReason: string; //作废原因
    id: string; // 发运计划ID
}
// 计划审核 列表 - 入参
export interface IPlanPlanApprovalPageParams {
    approvalState: string//审核状态，0：已审核，1：未审核
    currentPage: number //  当前页
    goodsName?: string//货品名称
    pageSize: number //每页条数
    startDate?: string //计有效日期，开始
    stopDate?: string//有效日期，结束
    transportName?: string //物流单位
}
// 计划审核列表 - 出参
export interface IPlanPlanApprovalPage {
    approvalPersonnel: string//审批人员
    approvalReason: string//审批备注
    approvalResult: string//审批结果，0：通过，1：驳回
    approvalTime: string//审批时间 string(date-time)
    createTime: string//提交时间string(date-time)
    createUser: string//提交人员
    goodsName: string//货品名称
    id: string //计划idinteger(int32)
    planNo: string//计划编号
    planQuantity: number//计划量（吨）
    remainingQuantity: number //剩余量（吨）
    startDate: string//有效日期，开始
    stopDate: string // 有效日期，结束
    transportName: string//物流单位
}
// 审批 - 入参
export interface IPlanApproveParams {
    approvalResult: string//审批结果，0：通过，1：驳回
    id: string//发运计划ID
    approvalReason: string//审批备注
}
// 车辆管理 - 列表 - 入参
export interface IPlanCarQueryPlanCarParams {
    planNo: string// 发运计划编号
    carNo?: string// 车牌号
}
// 车辆管理 - 列表 - 出参
export interface IPlanCarQueryPlanCar {
    carColour: string// 车牌颜色，蓝、黄、黑、白、绿
    carNo: string// 车牌号
    driverName: string //司机姓名
    driverPhoneNumber: string//司机电话号码
    expectAmount: number //预装量（吨）
    id: string //派车单ID
    planNo: string//计划编号
}
// 车辆管理 - 提交派车单 表格入参
export interface IPlanCarInsertPlanDetailsParamsCars {
    carColour: string//车牌颜色，蓝、黄、黑、白、绿
    carNo: string//车牌号
    driverName: string //司机姓名
    driverPhoneNumber: string//司机电话号码
    expectAmount: number //预装量（吨）
}
//  车辆管理 - 提交派车单 - 入参
export interface IPlanCarInsertPlanDetailsParams {
    cars: IPlanCarInsertPlanDetailsParamsCars[] // 派车单集合
    planNo: string //发运计划编号
    strategy: 'auto' | 'manual' //车号冲突策略，”auto“：自动解除、”manual“：手动解除
}
// 车辆管理 - 提交派车单 - 出参
export interface IPlanCarInsertPlanDetails {
    id: string //派车单ID 
    errorMessage: string//数据错误信息
}
// 发运计划 - 发运量统计 - 出参
export interface IPlanShipTotal {
    alreadyAmount: number//已发运量
    unshipAmount: number//未发运量
}
// 车辆发运明细列表 - 入参
export interface IPlanCarShipDetailParams {
    planNo: string //发运计划编号
    // carColour: string//车牌颜色，蓝、黄、黑、白、绿
    carNo?: string//车牌号
    currentPage: number//当前页
    pageSize: number//每页条数
}
// 车辆发运明细列表 - 出参
export interface IPlanCarShipDetail {
    actualAmount: number//实装量（千克）
    carColour: string//车牌颜色，蓝、黄、黑、白、绿
    carNo: string//车牌号
    driverName: string//司机姓名
    driverPhoneNumber: string//司机电话号码
    percent: number//实装百分比
}
//   车辆发运分析列表 - 出参
export interface IPlanCarShipAnalysis {
    actualAmount: number,// 实装量（千克）
    carColour: string,//车牌颜色，蓝、黄、黑、白、绿
    carNo: string,//车牌号
    percent: number | undefined, // 实装百分比(%)
}
// 装车明细 - 列表 - 入参
export interface IPlanLoadDetailParams {
    carColour: string //车牌颜色，蓝、黄、黑、白、绿
    carNo: string//
    task?: string //装车状态 0：待过空车，1：待入矿，2：待装车，3：待出矿，4：待过重车，5：待结算，6：完成
}
// 装车明细 - 列表 - 出参
export interface IPlanLoadDetail {
    actualAmount: number// 实装量（千克）
    ambulanceNo: string//派车单编号
    carColour: string //车牌颜色，蓝、黄、黑、白、绿
    carNo: string//车牌号
    driverName: string//司机姓名
    driverPhoneNumber: string //司机电话号码
    expectAmount: number//预装量（千克）
    planNo: string//计划编号
    submitTime: string//生成时间
    task: string//装车状态 0：待过空车，1：待入矿，2：待装车，3：待出矿，4：待过重车，5：待结算，6：完成
    transportName: string//物流单位
}
